CC=gcc
CFLAGS=-Wall -fPIC
CFLAGSUDF=`mysql_config --cflags`
CFLAGSTEST=-Wall
LDFLAGS= -shared
LDFLAGSUDF=`mysql_config --libs`
LDFLASGTEST=
ALL=libdiff.so
UDF=libdiffMySQLUDF.so
TEST=test

all: $(ALL) $(UDF) $(TEST)

$(ALL): diff.o split.o action.o util.o
	$(CC) -o $@ $(LDFLAGS) $^
	
$(UDF): diff.o split.o action.o util.o mysql_udf.o
	$(CC) -o $@ $(LDFLAGS) $(LDFLAGSUDF) $^
	
$(TEST): diff.o split.o action.o util.o test.o
	$(CC) -o $@ $(LDFLAGSTEST) $^

mysql_udf.o: mysql_udf.c
	$(CC) -o $@ $(CFLAGS) $(CFLAGSUDF) -c $<
	
test.o: test.c
	$(CC) -o $@ $(CFLAGSTEST) -c $<
	
%.o: %.c
	$(CC) -o $@ $(CFLAGS) -c $<

clean:
	rm -f $(ALL)
	rm -f $(UDF)
	rm -f $(TEST)
	rm -f *.o
